/*
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is ST_EXT-S_UIMAST.
 *
 * The Initial Developer of the Original Code is
 * University of Rome, Tor Vergata
 * Portions created by the Initial Developer are Copyright (C) 2009
 * the Initial Developer. All Rights Reserved.
 */

/**
 * Constructs an iterator over an array.
 * @param an array
 */
function ArrayIterator(array)
{
	this.array = array;
	this.position = 0;
}

/**
 * Checks if there are more elements in the array.
 * @return true iff there are more elements
 */
ArrayIterator.prototype.hasNext = function(){
	return this.position < this.array.length;
}

/**
 * Returns the next element.
 * @return the next element or null if it doesn't exists
 */
ArrayIterator.prototype.next = function(){
	if(this.hasNext())
		return this.array[this.position++];
	return null;
}

/**
 * Returns the sequence length.
 * @return the sequence length
 */
ArrayIterator.prototype.__defineGetter__("length",function(){ return this.array.length; });